<template>
  <div class="home">
    <p class="title">推荐歌单</p>
    <div class="container">
      <van-row gutter="8">
        <van-col span="8" v-for="item in songList" :key="item.id">
          <van-image
            width="100%"
            height="2.666666rem"
            fit="cover"
            :src="item.picUrl"
          />
          <p class="song_name">
            {{ item.name }}
          </p>
        </van-col>
      </van-row>
    </div>
    <p class="title">最新音乐</p>
    <van-cell-group>
      <lazy-component>
        <SongItem
          v-for="item in latestMusic"
          :key="item.id"
          :title="item.name"
          :label="item.song.artists[0].name"
          :id="item.id"
          v-lazy="item"
        ></SongItem>
      </lazy-component>
    </van-cell-group>
  </div>
</template>

<script>
import { getSongList, getLatestMusic } from '@/api/Home'
export default {
  name: 'Home',
  data() {
    return {
      songList: [],
      latestMusic: [],
    }
  },
  created() {
    this.getSongList()
    this.getLatestMusic()
  },
  methods: {
    async getSongList() {
      const { code, result } = await getSongList()
      if (code === 200) {
        this.songList = result
      }
    },
    async getLatestMusic() {
      const { code, result } = await getLatestMusic()
      if (code === 200) {
        this.latestMusic = result
      }
    },
  },
}
</script>

<style lang="less" scoped>
/* 标题 */
.title {
  padding: 0.266667rem 0.24rem;
  margin: 0 0 0.24rem 0;
  background-color: #eee;
  color: #333;
  font-size: 15px;
}
/* 推荐歌单 - 歌名 */
.song_name {
  font-size: 0.346667rem;
  padding: 0 0.08rem;
  margin-bottom: 0.266667rem;
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
  -webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
  -webkit-line-clamp: 2; /** 显示的行数 **/
  overflow: hidden; /** 隐藏超出的内容 **/
}
.container {
  padding: 0 5px;
}
</style>
